package cn.bug.greenflag.mapper;

import cn.bug.greenflag.pojo.entity.Role;
import cn.bug.greenflag.pojo.vo.PurchaseProductInfoListVO;
import cn.bug.greenflag.pojo.vo.RoleVO;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * 处理角色的DAO
 * @author LCL
 * */

@Repository
public interface RoleMapper {

    /**
     * 添加角色信息
     * @return 角色信息
     */
    int insert(Role role);

    /**
     * 处理根据id删除角色信息
     * @param id 需要删除的角色信息id
     * @return 受影响的行数
     * */
    int deleteById(Long id);

    /**
     * 处理根据id修改角色信息
     * @param id 需要修改的角色信息的id
     * @return 受影响的行数
     * */
    int updateById(Long id);

    /**
     * 根据名字查询角色信息
     * @param name 需要查询的名字
     * @return 受影响的行数
     */
    int countByName(String name);

    /**
     * 根据描述查询角色信息
     * @param description 需要查询的描述信息
     * @return 受影响的行数
     */
    int countByDescription(String description);

    /**
     * 根据id查询角色信息
     * @param id 需要查询的id
     * @return 角色信息
     */
    RoleVO getStandardById(Long id);

    /**
     * 根据商品Id查询角色信息列表
     * @return 返回角色信息列表
     * */
    List<PurchaseProductInfoListVO> list();
}
